package w83b.w83bOperacionesPaso.w83bImpugnaciones;

import java.util.ArrayList;
import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import w83b.w83bUtilidadesComunes.W83bUtilidadesN38API;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bIrEdicionImpugnacionAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		contexto.set("modoPantalla",W83bClsConstantes.MODO_EDICION);
		if("impugnaciones".equals((String)contexto.get("w83bSubOpFlag"))){
			contexto.set("migas","inicio.impugnaciones.edicionImpugnaciones");
			contexto.set("strTitleKey","comun.impugnaciones.labels.impugnacionesedicion");
		}
		W83bUsuarioXLNetsBean usuario= (W83bUsuarioXLNetsBean)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_USUARIO);
		contexto.set("w83bPerfilUsuario", W83bUtilidadesN38API.elegirAdministradorConsulta(usuario.getPerfilXLNets()));
		contexto.set("w83bCodTerritUsuario", W83bUtilidadesN38API.elegirProvinciaDelegacion(usuario.getPerfilXLNets()));
		contexto.set("w83bRegManual", usuario.getRegManual());
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

	
		boolean desdeEdicion=false;
		if (contexto.get("codSelecEdicion")!=null && StringUtils.isNotEmpty((String)contexto.get("codSelecEdicion")))
		{
			desdeEdicion=true;
		}
		if (StringUtils.isNotEmpty(request.getParameter("codSelec")) || desdeEdicion )
		{
			HashMap mapa=new HashMap();
			W83bUsuarioXLNetsBean usuario= (W83bUsuarioXLNetsBean)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_USUARIO);
			mapa.put("Usuario",usuario);
			mapa.put("idioma",(String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
			if (StringUtils.isNotEmpty(request.getParameter("codSelec")))
			{
				mapa.put("codSelec", request.getParameter("codSelec"));	

			}
			else
			{
				mapa.put("codSelec",contexto.get("codSelecEdicion"));
			}
			if (StringUtils.isNotEmpty(request.getParameter("pestania")))
			{
				mapa.put("pestania", request.getParameter("pestania"));
				if ("2".equals(request.getParameter("pestania")))
				{
					mapa.put("grid",request.getParameter("grid"));
				}
			}
			else
			{
				mapa.put("pestania", "0");
				contexto.set("w83bMapaFileImpugnaciones", new HashMap());
			}
			
			
			contexto.set("w83bListaBorradoFileImpugnaciones", new ArrayList());
			mapa.put("strIdioma", contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
			mapa.put("user", contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_USUARIO));
			mapa.put("sidx", request.getParameter(W83bClsConstantes.RIA_IDCOLUMNAORDENAR));
			mapa.put("sord", request.getParameter(W83bClsConstantes.RIA_DIRECCIONORDENACION));
			contexto.set("w83bMapaImpugnaciones",mapa );
			
			return mapping.findForward("ok");
		}
		return mapping.findForward("error");

	}

}
